layui.use(['table', 'jquery', 'layer', 'form'], function () {
    //使用layui的table模块来操作表格
    let table = layui.table;
    let layer = layui.layer;
    let form = layui.form;
    //使用layui的jquery模块
    let $ = layui.$;

    //当页面加载就需要渲染表格数据
    table.render({
        elem: '#test',  //引用表格的ID
        id: 'testId',   //这个id是render的id，可以用于表格reload时引用
        toolbar: '#searchToolBar',  //设置toolbar,
        url: 'http://localhost:8080/subject/queryByLike',   // 请求地址
        cols: [[    //表头
            { field: 'subjectId', title: 'id' },
            { field: 'subjectName', title: '学科' },
            { field: 'levelName', title: '年级' },
            { fixed: 'right', title: '操作', toolbar: '#barDemo' }
        ]],
        page: true  //启用表格分页功能
    });



    //监听头工具栏事件
    table.on('toolbar(test)', function (obj) {
        //获取按钮对象lay-event属性值
        let event = obj.event;
        //alert($('#likeSelect').val());
        switch (event) {
            //在不同的case中做不同的按钮事件处理
            case 'search':
                //重载表格加载新的数据, 引用render的id
                table.reload('testId', {
                    method: 'get',
                    where: {
                        levelName: $('#likeSelect').val()
                    },
                    page: { //查询回来后默认显示在第一页
                        curr: 1
                    }
                });
        }
    });


    //监听行工具事件(修改)
    table.on('tool(test)', function (obj) {
        let data = obj.data;
        layEvent = obj.event;

        //修改
        if (layEvent === 'update') {
            let id = data.subjectId;
            $.ajax({
                //根据学科ID拿到当前行的数据
                url: 'http://localhost:8080/subject/queryById',
                type: 'get',
                data: { 'subjectId': id },
                success: function (vo) {
                    if (vo.code == 200) {
                        //将绑定数据
                        $('#SubjectName').val(vo.data.subjectName);
                        $('#levelName option').each(function (i, e) {
                            if (vo.data.levelName == $(e).text()) {
                                $(e).prop('selected', 'selected');
                                form.render();
                            }
                        });
                        //弹出层显示
                        layer.open({
                            type: 1,
                            value: data.value,
                            title: '修改学科信息',
                            anim: 0,   // 动画
                            resize: false,  // 是否允许拉伸改变宽高
                            area: ['800px', '480px'], // 设置宽，高
                            shadeClose: false, //点击遮罩关闭
                            scrollbar: false,   // 屏蔽浏览器滚动（false: 则屏蔽）
                            content: $("#show-update"),

                        });

                        //单击提交按钮，提交表单数据
                        $('#add').on('click', function () {
                            //获取form表单的值
                            let form = {
                                subjectId: data.subjectId,
                                subjectName: $("#SubjectName").val(),
                                levelName: $("#levelName").val()
                            }

                            $.ajax({
                                //通过学科名查询当前科目下的所有年级
                                url: 'http://localhost:8080/list/subject/name',
                                type: 'get',
                                data: form,
                                success: function (vo) {
                                    if (vo.code == 200) {
                                        //请求修改
                                        $.ajax({
                                            url: 'http://localhost:8080/subject/update',
                                            type: 'post',
                                            data: form,
                                            success: function (vo) {
                                                if (vo.code == 200) {
                                                    layer.msg('修改成功', { offset: 't', icon: 1 });
                                                    // 延迟1秒执行代码
                                                    setTimeout(function () {
                                                        location = 'subject_list.html';
                                                    }, 1000);
                                                } else if (vo.code == 500) {
                                                    layer.msg(vo.message, { offset: 't', icon: 2 });
                                                }
                                            }
                                        });
                                    } else {
                                        layer.msg(vo.message, { offset: 't', icon: 2 });
                                    }
                                }
                            });
                        });
                    } else if (vo.code == 500) {
                        layer.msg(vo.message, { offset: 't', icon: 2 });
                    }

                }
            });

        }

        //删除
        if (layEvent === 'del') {
            let id = data.subjectId;
            //console.log(id);
            layer.confirm('真的删除此行数据么', function (index) {
                $.ajax({
                    //请求删除
                    url: 'http://localhost:8080/subject/del',
                    type: 'post',
                    data: { 'subjectId': id },
                    success: function (vo) {
                        if (vo.code == 200) {
                            obj.del();
                            layer.close(index);
                        } else {
                            layer.close(index);
                            layer.msg("删除失败", { offset: 't', icon: 2 });
                        }
                    }
                });
            });
        }
    });



});